Systems and methods for selecting drugs

ABSTRACT

An embodiment provides a method for selecting drugs, such as prescription drugs, and comprises the steps of: receiving search criteria; identifying a set of drug(s) which meet the search criteria (i.e., a relational drug class); providing identifying information about each drug in the set; receiving a selected drug from the set of drug(s); and providing basic information about the selected drug, including indications, contraindications, adverse reactions, classifications, drug interactions and/or drug class interactions.

TECHNICAL FIELD

[0001] The present invention generally relates to drug management, and,more particularly, to systems and methods for selecting drugs, such asprescription drugs.

DESCRIPTION OF THE RELATED ART

[0002] Health professionals rely on the labeling of drug products toprovide information needed for proper use of a drug product. Because ofthis, the FDA requires that drug manufacturers provide extensiveinformation with each FDA-approved drug sold in the United States. Thisextensive information is known as full disclosure prescription druglabeling information, or as prescription drug package insertinformation, and is referred to hereinafter as full disclosure labelinginformation.

[0003] The FDA requires the full disclosure labeling information to bein a format which includes specific section headings in a particularorder. The FDA further specifies the content of information to beincluded under each section heading, but enables a drug manufacturer toselect the style in which the content is presented, so long as therequired information is provided. A manufacturer typically provides therequired information in written format, supplemented with graphs,charts, and chemical formula diagrams.

[0004] When prescribing a drug, a physician often makes use of fulldisclosure labeling information. This information currently is availablefrom various sources, such as the Physicians' Desk Reference®, publishedby the Medical Economics Company, Inc. This information is published invarious formats, including print information, electronic informationavailable on-line over the Internet, and electronic informationdownloadable from the Internet to hand-held personal data assistantdevices.

[0005] Full disclosure labeling information is most useful when thephysician knows exactly which drug is of interest and the commercialreference contains information on the drug of interest. However, thispresentation is of limited usefulness to the physician who desires todetermine which drug or drugs meet a combination of physician-definedcriteria. Such criteria might include indications (symptoms anddiagnoses for which the drug is effective), contraindications (the drugshould not be prescribed for patients with these symptoms anddiagnoses), and adverse reactions to the drug. Other criteria mightinclude the drug's interactions with other drugs, classes of drugs, anddiseases. The criteria could also include the classification to which adrug belongs (e.g. narcotic, antidepressant, etc.).

[0006] Therefore, to make a well-informed decision, a physician willtypically review the full scope of available information from multiplesources for a variety of drugs of possible interest, make notes on thedetails of each, and select the drug best suited for a particularpatient's situation. This can be a time-consuming and inefficientprocess.

SUMMARY

[0007] Embodiments of the present invention provide systems and methodsfor selecting drugs, such as prescription drugs. Briefly described, inarchitecture, one embodiment of the system, among others, can beimplemented as follows. A user interface interacts with a user topresent drug information and accept drug search criteria. A querygenerator receives the user's search criteria and provides informationabout a set of drug(s) meeting the search criteria.

[0008] The present invention can also be viewed as providing methods forselecting drugs. In this regard, one embodiment of such a method, amongothers, can be broadly summarized by the following steps: receivingsearch criteria; identifying a set of drug(s) which meet the searchcriteria; and providing identifying information about each drug in theset.

[0009] Other systems, methods, features, and advantages of the presentinvention will be or become apparent to one with skill in the art uponexamination of the following drawings and detailed description. It isintended that all such additional systems, methods, features, andadvantages be included within this description, be within the scope ofthe present invention, and be protected by the accompanying claims.

DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a flow chart illustrating an embodiment of a method forselecting a drug.

[0011]FIG. 2 is a data-flow diagram illustrating an embodiment of asystem for selecting a drug.

[0012]FIG. 3 illustrates an example of a general purpose computer thatcan be used to implement an embodiment of a system for selecting a drug.

[0013]FIG. 4 is a block diagram illustrating one embodiment of a systemfor selecting a drug.

[0014]FIG. 5 is a block diagram illustrating another embodiment of asystem for selecting a drug.

[0015]FIG. 6 is a block diagram illustrating yet another embodiment of asystem for selecting a drug.

[0016]FIG. 7 is a diagram of the schema used by an embodiment of thedrug database used by a system for selecting a drug.

[0017]FIG. 8 is an illustration of an embodiment of a user interfacethat can be provided by a system for selecting a drug.

[0018]FIG. 9 is a flow chart illustrating a method of selecting a drug.

[0019]FIG. 10 is a flow chart illustrating another method of selecting adrug.

DETAILED DESCRIPTION

[0020] Systems and methods for selecting a drug are described in detailin this section. The various embodiments described here allow a user toselect a drug based on a set of user-defined criteria. In oneembodiment, the system uses a relational database, and the searchcriteria are defined in terms which correspond to database fields, forexample, indications, contraindications, interactions and adversereactions. In one embodiment, the user may combine individual searchcriteria with boolean logic operators (e.g. AND, OR, NOT). The set ofdrugs which meet this set of criteria is known as the “relational drugclass.”

[0021] In one embodiment, the user-defined criteria correspond tocategories which are required by the FDA to be included in a drug's fulldisclosure labeling information. In another embodiment, the informationused to determine which drugs meet the criteria includes full disclosurelabeling information. In yet another embodiment, the information used tomake this determination includes other types of information, such asinformation provided by professional journals and/or research reports.Several exemplary embodiments will now be described with reference tothe figures.

[0022]FIG. 1 is a flow chart illustrating an embodiment of a method forselecting a drug. The process begins at block 101, where the searchcriteria are received. In an exemplary embodiment, the criteriacorrespond to one or more categories used in the FDA full disclosurelabeling information, e.g., indications, contraindications, adversereactions, classification, drug interactions, or class interactions.Processing continues at block 102, where a set of at least one drugmeeting the search criteria is identified. At the next block, 103, theprocess provides identifying information about each drug in the set,then processing completes.

[0023] As will be described below, the process depicted in FIG. 1 can beimplemented by various embodiments. By way of example, FIG. 2 is adata-flow diagram illustrating an embodiment of a system for selecting adrug 201. The embodiment of FIG. 2 includes: user interface 202; querygenerator 203; database client 204; database manager 205; and drugdatabase 206. A user 207 interacts with the user interface 202 tospecify a set of drug criteria 208. The user interface 202 passes drugcriteria 208 on to the query generator 203, which translates theuser-specified drug criteria 208 into a database query 209. The querygenerator 203 passes the database query 209 to the database client 204,which passes the database query 209 on to the database manager 205. Thedatabase manager 205 accesses the drug database 206 to produce a recordset 210 including records which represent drugs meeting the criteria.The database manager 205 sends the record set 210 to the database client204, which sends the record set 210 to the query generator 203. Thequery generator 203 processes the record set 210 and providesinformation 211 about drugs in the record set to the user interface 202,which presents information 211 to user 207.

[0024] In another embodiment, search critieria and search results areprovided in an automated manner. Such an automated prescribing systemmay be integrated with a patient record database which includesinformation about a patient's health history, diagnoses, treatmentplans, etc. The automated prescribing system extracts relevant data froma patient's record and maps the extracted data into appropriate searchcritieria. For example, the search critieria for a record showing apatient diagnosed with duodenal ulcer and also taking amlodipinebesylate for hypertension maps to:

[0025] (Indication=dudodenal ulcer) AND NOT

[0026] (Contradindication=hypertension) AND NOT

[0027] (DrugInteraction=amolidipine besylate).

[0028] The search produces a set of drugs meeting the critieria andprovides information about one or more of the drugs. In an automatedsystem, these results are stored for later review by the physician.

[0029] Embodiments of the system for selecting a drug, such as FIG. 2,can be implemented in software (e.g., firmware), hardware, orcombinations thereof. Furthermore, the components of the system canreside on one computer system, or can be distributed among more than onecomputer system. In some embodiments, the system for selecting a drug201 is implemented in software, as an executable program or programs,and is executed by a special or general purpose digital computer, orcombination of computers, such as a personal digital assistant orpersonal computer (PC).

[0030]FIG. 3 illustrates an example of a general purpose computer thatcan be used to implement an embodiment of a system for selecting a drug,in an integrated or distributed form. Generally, in terms of hardwarearchitecture, as shown in FIG. 3 the computer 301 includes a processor302, memory 303, and one or more input and/or output (I/O) devices orperipherals 304 that are communicatively coupled via a local interface305. The local interface 305 can be, for example but not limited to, oneor more buses or other wired or wireless connections, as is known in theart. The local interface 305 may have additional elements (omitted forsimplicity), such as controllers, buffers, drivers, repeaters, andreceivers, to enable communications. Further, the local interface 305may include address, control, and/or data connections to enableappropriate communications among the aforementioned components.

[0031] The processor 302 is a hardware device for executing software,particularly that stored in memory 303. The processor 302 can be anycustom made or commercially available processor, a central processingunit (CPU), an auxiliary processor among several processors associatedwith the computer 301, a semiconductor based microprocessor (in the formof a microchip or chip set), a microprocessor, or generally any devicefor executing software instructions.

[0032] The memory 303 can include any one or combination of volatilememory elements (e.g., random access memory (RAM, such as DRAM, SRAM,SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive,tape, CDROM, etc.). Moreover, the memory 303 may incorporate electronic,magnetic, optical, and/or other types of storage media. Note that thememory 303 can have a distributed architecture, where various componentsare situated remote from one another, but can be accessed by theprocessor 302.

[0033] The software in memory 303 may include one or more separateprograms, each of which comprises an ordered listing of executableinstructions for implementing logical functions. In the example of FIG.3, the software in the memory 303 includes one or more components of thesystem for selecting a drug 201, and a suitable operating system 306.The operating system 306 essentially controls the execution of othercomputer programs, such as the system for selecting a drug 201, andprovides scheduling, input-output control, file and data management,memory management, and communication control and related services.

[0034] The system for selecting a drug 201 is a source program,executable program (object code), script, or any other entity comprisinga set of instructions to be performed. When a source program, then theprogram needs to be translated via a compiler, assembler, interpreter,or the like, which may or may not be included within memory 303, so asto operate properly in connection with the operating system 306.

[0035] The peripherals 304 may include input devices, for example butnot limited to, a keyboard, mouse, scanner, microphone, etc.Furthermore, the peripherals 304 may also include output devices, forexample but not limited to, a printer, display, etc. Finally, theperipherals 304 may further include devices that communicate both inputsand outputs, for instance but not limited to, a modulator/demodulator(modem; for accessing another device, system, or network), a radiofrequency (RF) or other transceiver, a telephonic interface, a bridge, arouter, etc.

[0036] If the computer 301 is a PC, workstation, or the like, thesoftware in the memory 303 may further include a basic input outputsystem (BIOS) (omitted for simplicity). The BIOS is a set of essentialsoftware routines that initialize and test hardware at startup, startthe operating system 306, and support the transfer of data among thehardware devices. The BIOS is stored in ROM so that the BIOS can beexecuted when the computer 301 is activated.

[0037] When the computer 301 is in operation, the processor 302 isconfigured to execute software stored within the memory 303, tocommunicate data to and from the memory 303, and to generally controloperations of the computer 301 pursuant to the software. The system forselecting a drug 201 and the operating system 306, in whole or in part,but typically the latter, are read by the processor 302, perhapsbuffered within the processor 302, and then executed.

[0038] When the system for selecting a drug 201 is implemented insoftware, as is shown in FIG. 3, it should be noted that the system forselecting a drug 201 can be stored on any computer readable medium foruse by or in connection with any computer related system or method. Inthe context of this document, a “computer-readable medium” can be anymeans that can store, communicate, propagate, or transport the programfor use by or in connection with the instruction execution system,system, or device. The computer-readable medium can be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, system, device, or propagationmedium. A nonexhaustive example set of the computer-readable mediumwould include the following: an electrical connection having one or morewires, a portable computer diskette, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory(EPROM, EEPROM, or Flash memory), and a portable compact disc read-onlymemory (CDROM). Note that the computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via for instance opticalscanning of the paper or other medium, then compiled, interpreted orotherwise processed in a suitable manner if necessary, and then storedin a computer memory.

[0039] In an alternative embodiment, where the system for selecting adrug 201 is implemented in hardware, the system for selecting a drug 201can be implemented with any or a combination of the followingtechnologies, which are each well known in the art: a discrete logiccircuit(s) having logic gates for implementing logic functions upon datasignals, an application specific integrated circuit(s) (ASIC) havingappropriate combinatorial logic gates, a programmable gate array(s)(PGA), a field programmable gate array(s) (FPGA), etc.

[0040]FIG. 4 is a block diagram illustrating one embodiment of a systemfor selecting a drug 201. In this embodiment, the user interface 202,the query generator 203, the database client 204, the database manager205 and the drug database 206 all reside on one computer system. Thissingle system is the integrated system 401. Suitable hardware platformsfor the integrated system 401 include, but are not limited to, apersonal digital assistant or other pen-computing device, a laptop ordesktop personal computer, or a workstation.

[0041]FIG. 5 is a block diagram illustrating another embodiment of asystem for selecting a drug 201, in which the components aredistributed. In this embodiment, the user interface 202, the querygenerator 203 and the database client 204 reside on a client 501, whiledatabase manager 205 resides on a server 502. A network 503 allowsclient 501 and server 502 to communicate with each other, and allows atleast server 502 to access the drug database 206. The network 503 may bea local area network, or a wide area network such as the Internet.Suitable hardware platforms for the client 501 include, but are notlimited to, a personal digital assistant, a desktop or laptop personalcomputer, or a workstation. Suitable hardware platforms for the server502 include, but are not limited to, a desktop or tower personalcomputer, a minicomputer, or a mainframe.

[0042]FIG. 6 is a block diagram illustrating yet another embodiment of asystem for selecting a drug 201, in which the components aredistributed. In this embodiment, the user interface 202 and Internetbrowser 601 resides on a browser client 602. The query generator 203 andthe database client 204, as well as a web content server 603, reside ona web server 604. The database manager 205 resides on another system,the database server 605. A network 606 allows browser client 602 and webserver 604 to communicate with each other, and allows at least databaseserver 605 to access the drug database 206. Suitable hardware platformsfor the browser client 602 include, but are not limited to, a personaldigital assistant, a desktop or laptop personal computer, or aworkstation. Suitable hardware platforms for the web content server 603and database server 605 include, but are not limited to, a desktop ortower personal computer, a minicomputer, or a mainframe.

[0043]FIG. 7 is a diagram of the schema used by an embodiment of thedrug database 206 used by a system for selecting a drug. This schemaincorporates the organizational scheme used by the FDA's National DrugCode Directory. The drug database 206 is organized around two groups oftables. The two groups each use a different primary key, but are linkedtogether so that data from both groups can be easily accessed.

[0044] The organizing concept for the first group, the product tables701, is the drug product, meaning a particular formulation of one ormore active ingredients labeled by a particular firm, e.g. amlodipine in2.5 mg tablets and labeled by Bristol Meyers Squibb®. Each drug productin the drug database 206 has a unique value, assigned by the FDA, knownas its LISTING SEQ NO 702. The central table in this group, tbl_LISTINGS703, uses this LISTING SEQ NO 702 as its primary key. This central tablecontains various types of identifying information about each drugproduct. More detailed information about drug products is found in theother product tables 701 (described below), which are linked from thecentral products table tbl_LISTINGS 703 by primary key LISTING SEQ NO702.

[0045] The organizing concept for the second group, the generic tables704, is the active ingredient, also known as the generic name. Each drugproduct in the drug database 206 consists of one or more activeingredients, and each active ingredient has a unique value, known as itsGENERIC SEQ NO 705. The central table in this group,tbl_GENERIC_NAME_LISTING 706, uses this GENERIC SEQ NO 705 as itsprimary key. This table contains at least the ingredient name, as fieldINGREDIENT 707. More detailed information about ingredients is found inthe other generic tables 704, which are linked from the central tabletbl_GENERIC_NAME_LISTING 706 by primary key GENERIC SEQ NO 705.

[0046] The table tbl_FORMULATIONS 708 is used to link these two groupsof tables together. A drug product, identified by GENERIC SEQ NO 705,links to one or more entries in table tbl_FORMULATIONS 708, one for eachactive ingredient in the drug product. Each of these entries intbl_FORMULATIONS 708, representing an active ingredient in the drugproduct LISTING SEQ NO 702, contains an ingredient name. This ingredientname in turn matches an entry in tbl_GENERIC_NAME_LISTING 706, whichcontains a GENERIC SEQ NO 705 identifying a generic. Using theselinkages, a LISTING SEQ NO 702 identifying a drug product can be used toaccess data in the generic tables 704.

[0047] The table tbl_FORMULATIONS 708 also provides links in the otherdirection, so that a GENERIC SEQ NO 705 can be used to access data inthe product tables 701. An active ingredient, identified by GENERIC SEQNO 705, links to one or more entries in tbl_FORMULATIONS 708. Each ofthese entries in tbl_FORMULATIONS 708 represents a drug product whichincludes the active ingredient GENERIC SEQ NO 705. Each of these entriescontains a LISTING SEQ NO 702, which can be used to access data in theproduct tables 701.

[0048] Data for the product tables 701 is typically derived frominformation made publicly available by the FDA, which is known as“on-label” data. In contrast, data for generic tables 704 typicallyincludes “on-label” data as well as “off-label” data. Off-label dataincludes additional data which is not included in the full disclosurelabeling information. This off-label data can be supplied by themanufacturer, or by practicing physicians and researchers throughvarious forms of dissemination, including professional journals,research reports, formal presentations, and informal discussions.

[0049] The tables in each group are now discussed in more detail. Thecentral table in the product tables group, tbl_LISTINGS 703, containsvarious forms of identifying information about a drug product, includingfields: TRADENAME 709; FIRM SEQ NO 710; STRENGTH 711; UNIT 712; DOSAGEFORM 713; FLAG RX OTC 714; LBLCODE 715; and PRODCODE 716. FieldTRADENAME 709 is the name of the drug product as it appears on the FDAapproved label. Several fields contain identification numbers. FieldFIRM SEQ NO 710 is a unique number identifying the firm which labels ormanufactures the drug product. This number is typically not displayed tothe user.

[0050] Field LBLCODE 715 is another unique number identifying the firmthat manufactures or labels the drug, and is typically shown to theuser. Field PRODCODE 716 is a unique number identifying the specificstrength, dosage form and formulation of the drug. Thus, the combinationof LBLCODE 715 and PRODCODE 716 identifies a particular formulation of adrug product labeled by a particular firm, e.g. 10 mg of amlodipinebesylate manufactured by Pfizer®. (These two fields, LBLCODE 715 andPRODCODE 716, are the first two segments in the drug product's NationalDrug Code (NDC).)

[0051] The combination of fields STRENGTH 711 and UNIT 712 specifies thepotency of the drug product's ingredients. For example, a value of “40”for STRENGTH 711 and “mg” for UNIT 712 specifies a drug product with 40mg of active ingredient. Field DOSAGE FORM 713 specifies the form of thedrug, for example, tablets, capsules, solution, etc. Field FLAG RX OTC714 is a flag indicating either prescription or over-the-counter.

[0052] In this embodiment, table tbl_LISTINGS 703 contains twoadditional fields. The first, PACKAGE LABEL 717, contains a high-qualityimage of the full disclosure labeling information. The second, LASTUPDATE 718, contains the date on which the drug database 206 was lastupdated.

[0053] The other product tables 701, containing more detailedinformation about a drug product, are linked from the main tabletbl_LISTINGS 703 by LISTING SEQ NO 702. Table tbl_PACKAGES 719 containsinformation about the one or more packages used for the drug productidentified by LISTING SEQ NO 702. Table tbl_DRUG_CLASS 720 containsinformation about the one or more drug classes to which the drug productidentified by LISTING SEQ NO 702 belongs. Table tbl_NEW_DRUG_APPLICATION721 contains information about new FDA-approved uses for the drugproduct identified by LISTING SEQ NO 702. Table tbl_FIRM_NAME 722contains information about the firm which manufactures or labels thedrug product identified by LISTING SEQ NO 702. Finally, tabletbl_ROUTE_OF_ADMIN 723 contains information how the drug productidentified by LISTING SEQ NO 702 is administered (e.g. oral, inhalation,injection, etc.).

[0054] The second group, generic tables 704, includes the followingtables: tbl_INDICATIONS 724; tbl_CONTRAINDICATIONS 725; tbl_PRECAUTIONS726; tbl_DOSAGE 727; tbl_INTERACTIONS 728; and tbl_CLASS_INTERACTIONS729.

[0055] The table tbl_INDICATIONS 724 contains information aboutindications for the drug identified by GENERIC SEQ NO 705. For eachindication listed in tbl_INDICATIONS 724, the FLAG _FDA field is set to“Yes” if the indication is FDA-approved, or “No” if the indication isnot FDA-approved.

[0056] The table tbl_CONTRAINDICATIONS 725 contains information aboutcontraindications for the generic identified by GENERIC SEQ NO 705. Foreach contraindication in the table tbl_CONTRAINDICATIONS 725, the fieldFLAG REL ABS is set to either “Absolute” or “Relative,” depending on theseverity of the contraindication. For example, administering ampicillinto a patient who is severely allergic to penicillin is absolutelycontraindicated, while administering ampicillin to a patient who had aminor rash while taking penicillin is relatively contraindicated.

[0057] The table tbl_PRECAUTIONS 726 contains information about problemsthat might arise with use of the generic identified by GENERIC SEQ NO705. For each precaution in the table tbl_PRECAUTIONS 726, the fieldFLAG P W A is set to “Precaution,” “Warning” or “Adverse Reaction” toindicate the type of problem.

[0058] The table tbl_DOSAGE 727 includes information about the minimum,maximum and pregancy-approved dosages of the generic identified byGENERIC SEQ NO 705.

[0059] The table tbl_INTERACTIONS 728 contains information about how thegeneric identified by GENERIC SEQ NO 705 interacts with other drugs.

[0060] The table tbl_CLASS_INTERACTIONS 729 contains information abouthow the generic identified by GENERIC SEQ NO 705 interacts with classesof drugs.

[0061]FIG. 8 is an illustration of an embodiment of a user interfacethat can be provided by a system for selecting a drug 201. The userinterface 202 allows the user 207 to specify drug criteria 208 and toview information about drugs in record set 210. Interface 801 employsuser-friendly controls to allow data selection and data entry, such asactivatable buttons, list boxes, entry fields, checkboxes, and/or radiobuttons. The various controls which make up interface 801 work togetherto present information to the user 207 and/or allow the user 207 toprovide information to the system for selecting drugs meeting specifiedcriteria.

[0062] At least one field 802 allows the user 207 to specify drugcriteria 208, where each field 802 represents a field in the drugdatabase 206. In one embodiment, the user may type into field 802. Inanother embodiment, the user selects from a drop-down listbox. In someembodiments, multiple fields field 802 a-f allow the user to combinecriteria with boolean logic operators 803 (AND, OR, NOT). In oneembodiment, a field is also provided for drug name 804, allowing asearch for a drug by name instead of by criteria. A “find” button 805allows the user to initiate a search for drugs in the drug database 206which meet the specified drug criteria 208. A “clear” button 806 allowsthe user to clear the criteria field 802.

[0063] A drug listbox 807 presents to the user a set of those drugs inthe drug database 206 meeting the specified drug criteria 208. Eachentry in the drug listbox 807 provides identifying information 808 abouta drug in the set. In some embodiments, identifying information 808 isthe generic name (active ingredient) of each drug. The drug listbox 807also allows the user 207 to select a particular drug from the set.Another group of controls presents summary information 809 about theselected drug 810. Examples of summary information 809 include: genericname 811; a set of all indications 812, contraindications 813, andadverse reactions 814 associated with the selected drug 810; a set ofall classifications 815 to which the selected drug 810 belongs; a set ofdrug classes 816 with which the selected drug 810 interacts; and a setof other drugs 817 with which the selected drug 810 interacts.

[0064] A formulations listbox 818 presents to the user 207 a set of allformulations of selected drug 810, and allows user 207 to select aparticular formulation. In one embodiment, the formulation is identifiedto the user by NDC number, trade name, strength, and dosage form. Thesystem then allows the user 207 to obtain the full disclosure labelinginformation for the selected formulation 819. In some embodiments, theuser 207 is able to view full disclosure labeling information on thesystem display, or to print out the full disclosure labelinginformation, or to save the full disclosure labeling information to afile.

[0065]FIG. 9 is a flow chart illustrating a method for selecting a drug.The query generator 203 begins this process at block 901, where querygenerator 203 waits for an event from the user interface 202. Block 902tests for a stop event, and the process then stops if the event was astop event. Otherwise, processing continues at block 903, which testsfor a Start_Search event. If the event is not Start_Search, block 904tests for a Basic_Info event. If the event is not Basic_Info, block 905tests for a Detailed_Info event. If the event is not Detailed_Info, thequery generator 203 returns to block 901 to wait for another event.

[0066] If the event tested at block 903 was Start_Search, processingcontinues at block 906, which retrieves the drug criteria 208 for thesearch. At block 907, the query generator 203 translates the drugcriteria 208 into a database query 209. At block 908, query generator203 applies database query 209 to drug database 206 to produce recordset 210 containing records for drugs meeting drug criteria 208. At block909, the process provides identifying information for drugs in recordset 210, and returns to block 901 to wait for another event.

[0067] If the event tested at block 904 was Basic_Info, processingcontinues at block 910, which retrieves selected drug 810. Processingcontinues at block 911, where the query generator 203 provides basicinformation for selected drug 810. The query generator 203 then returnsto block 901 to wait for another event.

[0068] If the event tested at block 905 was Detailed_Info, processingcontinues at block 912, which retrieves selected formulation 819.Processing continues at block 913, where the query generator 203provides detailed information for selected formulation 819. The querygenerator 203 then returns to block 901 to wait for another event.

[0069]FIG. 10 is a flow chart illustrating another method of selecting adrug. The user interface 202 begins this process at block 1001, whereuser interface 202 waits for an event from the user 207. Block 1002tests for a stop event, and the process then stops if the event was astop event. Otherwise, processing continues at block 1003, which testsfor a Start_Search event. If the event is not Start_Search, block 1004tests for a Basic_Info event. If the event is not Basic_Info, block 1005tests for a Detailed_Info event. If the event is not Detailed_Info, theuser interface 202 returns to block 1001 to wait for another event.

[0070] If the event tested at block 1003 was Start_Search, processingcontinues at block 1006, which retrieves the drug criteria 208 for thesearch from field 802. At block 1007, the user interface 202 providesthe drug criteria 208 to the query generator 203. At block 1008, theprocess receives identifying information for drugs meeting the drugcriteria 208. At block 1009, the process displays a set of drugs meetingthe drug criteria 208, using the identifying information. The userinterface 202 then returns to block 1001 to wait for another event.

[0071] If the event tested at block 1004 was Basic_Info, processingcontinues at block 1010, which retrieves selected drug 810. Processingcontinues at block 1011, where the user interface 202 receives basicinformation for selected drug 810 from query generator 203. At block1012, the process displays the basic information for selected drug 810.At block 1013, the user interface 202 displays the set of formulationsfor selected drug 810. The user interface 202 then returns to block 1001to wait for another event.

[0072] If the event tested at block 1005 was Detailed_Info, processingcontinues at block 1014, which retrieves selected formulation 819.Processing continues at block 1015, where the user interface 202receives detailed information for selected formulation 819. At block1016, the process displays the detailed information for selectedformulation 819, then returns to block 1001 to wait for another event.

[0073] The foregoing description has been presented for purposes ofillustration and description. It is not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Obviousmodifications or variations are possible in light of the aboveteachings. The embodiments discussed, however, were chosen and describedto illustrate the principles of the invention and its practicalapplication to thereby enable one of ordinary skill in the art toutilize the invention in various embodiments and with variousmodifications as are suited to the particular use contemplated. All suchmodifications and variation are within the scope of the invention asdetermined by the appended claims when interpreted in accordance withthe breadth to which they are fairly and legally entitled.

Therefore, having thus described the invention, at least the followingis claimed:
 1. A method for selecting a drug, comprising: receivingsearch criteria; identifying a first set of at least one drug meetingthe search criteria; and providing identifying information about eachdrug in the first set of the at least one drug.
 2. The method of claim1, wherein the search criteria comprises at least one of indication,contraindication, adverse reaction, classification, drug interaction anddrug class interaction.
 3. The method of claim 1, further comprising:receiving a selected drug from the first set of at least one drug; andproviding basic information about the selected drug, the basicinformation comprising a set of at least one of indications,contraindications, adverse reactions, classifications, drug interactionsand drug class interactions.
 4. The method of claim 1, whereinidentifying a first set further comprises searching a drug database. 5.The method of claim 4, wherein the drug database includes off-labelinformation.
 6. The method of claim 4, wherein the drug databaseincludes on-label information.
 7. The method of claim 4, wherein thedrug database is a relational database.
 8. The method of claim 1,wherein providing identifying information about each drug furthercomprises providing a generic name.
 9. The method of claim 3, furthercomprising: providing a second set of at least one formulationcorresponding to the selected drug; receiving a selected formulationfrom the second set of at least one formulation; and providing detailedinformation about the selected formulation.
 10. The method of claim 9,wherein the detailed information comprises FDA full disclosureprescription labeling information.
 11. The method of claim 9, whereinthe at least one formulation is identified by trade name.
 12. The methodof claim 9, wherein the at least one formulation is identified by NDCnumber.
 13. The method of claim 9, wherein the at least one formulationis identified by strength.
 14. The method of claim 9, wherein the atleast one formulation is identified by dosage form.
 15. A method forpresenting information about at least one drug meeting specifiedcriteria, comprising: receiving a search criteria from a user;requesting a search of a drug database to produce a first set of atleast one drug meeting the search criteria; receiving identifyinginformation about each drug in the first set; presenting identifyinginformation about each drug in the first set; receiving, from the user,a first selection for a drug in the first set; and presenting basicinformation about the first selection.
 16. The method of claim 15,wherein the search criteria comprises at least one of indication,contraindication, adverse reaction, classification, drug interaction anddrug class interaction.
 17. The method of claim 15, the basicinformation comprising a set of at least one of indications,contraindications, adverse reactions, classifications, drug interactionsand drug class interactions.
 18. The method of claim 15, wherein thedrug database is a relational database.
 19. The method of claim 15,wherein the drug database includes off-label information.
 20. The methodof claim 15, further comprising: presenting a second set of at least oneformulation corresponding to the selected drug; receiving, from theuser, a second selection for a formulation in the second set of at leastone formulation corresponding to the selected drug; and providingdetailed information about the second selection.
 21. The method of claim20, wherein the at least one formulation is identified by trade name.22. The method of claim 20, wherein the at least one formulation isidentified by NDC number.
 23. A system for selecting a drug comprising:a user interface, the user interface configured to present druginformation to a user and to accept drug criteria from the user; and aquery generator, the query generator configured to receive the drugcriteria and to provide information about a first set of at least onedrug meeting the search criteria.
 24. The system of claim 23, whereinthe drug criteria comprises a combination of one or more of indication,contraindication, adverse reaction, classification, drug interaction anddrug class interaction.
 25. The system of claim 23, wherein theinformation about a first set of at least one drug comprises a genericname.
 26. The system of claim 23, wherein the query generator is furtherconfigured to receive a selected drug from the first set and to provideadditional information about the selected drug.
 27. The system of claim26, wherein the additional information comprises a second set of atleast one formulation corresponding to the selected drug.
 28. The systemof claim 27, wherein the query generator is further configured toreceive a selected formulation from the second set of at least oneformulation corresponding to the selected drug and to provide detailedinformation about the selected formulation.
 29. The system of claim 23,wherein the query generator is further configured to translate thesearch criteria into a database query, wherein the database query isapplied to a drug database to produce the first set.
 30. The system ofclaim 29, further comprising: means for applying the database query tothe drug database.
 31. The system of claim 29, further comprising: adatabase manager configured to apply the database query to the drugdatabase.
 32. The system of claim 29, further comprising: a databaseclient configured to receive the database query and to forward thedatabase query to the database manager.
 33. A computer readable mediumhaving a computer program for selecting a drug, said computer readablemedium comprising: logic configured to receive search criteria; logicconfigured to identify a first set of at least one drug meeting thesearch criteria; logic configured to provide identifying informationabout each drug in the first set of the at least one drug; logicconfigured to receive a selected drug from the first set of at least onedrug; and logic configured to provide basic information about theselected drug, the basic information comprising a set of at least one ofindications, contraindications, adverse reactions, classifications, druginteractions and drug class interactions.